﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TpLogic
{
    public class Lexicon
    {
        public Lexicon()
        {
            TokiPonaInTransitiveVerbs();
            TokiPonaLexicon();
            TokiPonaModifers();
            TokiPonaNouns();
            TokiPonaTransitiveVerbs();
            ModalVerbs();
            PrepPhrases();
        }

        public readonly Dictionary<string, string> transitiveVerbs = new Dictionary<string, string>();
        public readonly Dictionary<string, string> unknownPos = new Dictionary<string, string>();
        public readonly Dictionary<string, string> nouns = new Dictionary<string, string>();
        public readonly Dictionary<string, string> modifers = new Dictionary<string, string>();

        public readonly Dictionary<string, string> intransitiveVerbs = new Dictionary<string, string>();

        public readonly Dictionary<string, string> modals = new Dictionary<string, string>();
        public readonly Dictionary<string, string> prepPhrases = new Dictionary<string, string>();

        public Dictionary<string, string> PrepPhrases()
        {
            prepPhrases.Add("kepeken","with");
            prepPhrases.Add("lon","at");
            prepPhrases.Add("poka","beside");
            prepPhrases.Add("sama","like");
            prepPhrases.Add("tan","because of");
            prepPhrases.Add("tawa","to");
            return prepPhrases;
        }

        public Dictionary<string, string> ModalVerbs()
        {
            modals.Add("awen", "stay");
            modals.Add("kama", "becomes");
            modals.Add("ken", "enables");
            modals.Add("open", "starts");
            modals.Add("pini", "finishes");
            modals.Add("wile", "wants");
            return modals;
        }

        public Dictionary<string, string> TokiPonaInTransitiveVerbs()
        {
            //basic.Add("a", "ah!");
            intransitiveVerbs.Add("akesi", "makes into a reptile");
            intransitiveVerbs.Add("ala", "negates");
            intransitiveVerbs.Add("alasa", "hunts");
            //basic.Add("ale", "all");
            //basic.Add("ali", "all");
            intransitiveVerbs.Add("anpa", "lowers");
            intransitiveVerbs.Add("ante", "changes");
            //basic.Add("anu", "or");
            intransitiveVerbs.Add("awen", "stay");
            //basic.Add("e", "DO");
            //basic.Add("en", "and");
            intransitiveVerbs.Add("esun", "sells");
            intransitiveVerbs.Add("ijo", "objectifies");
            intransitiveVerbs.Add("ike", "makes worse");
            intransitiveVerbs.Add("ilo", "uses as a tool");
            intransitiveVerbs.Add("insa", "places inside");
            intransitiveVerbs.Add("jaki", "makes disgusting");
            intransitiveVerbs.Add("jan", "humanizes");
            intransitiveVerbs.Add("jelo", "makes yellow");
            intransitiveVerbs.Add("jo", "have");
            intransitiveVerbs.Add("kala", "turns into a fish");
            intransitiveVerbs.Add("kalama", "makes a noise");
            intransitiveVerbs.Add("kama", "becomes");
            intransitiveVerbs.Add("kasi", "plants");
            intransitiveVerbs.Add("ken", "enables");
            intransitiveVerbs.Add("kepeken", "uses");
            intransitiveVerbs.Add("kili", "turns into fruit");
            //basic.Add("kin", "indeed");
            intransitiveVerbs.Add("kipisi", "cuts");
            intransitiveVerbs.Add("kiwen", "makes into a rock");
            intransitiveVerbs.Add("ko", "makes disgusting");
            intransitiveVerbs.Add("kon", "turns into air");
            intransitiveVerbs.Add("kule", "colors");
            intransitiveVerbs.Add("kulupu", "gathers into a group");
            intransitiveVerbs.Add("kute", "listens");
            //basic.Add("la", "if");
            intransitiveVerbs.Add("lape", "puts to sleep");
            intransitiveVerbs.Add("laso", "bluens");
            intransitiveVerbs.Add("lawa", "leads");
            intransitiveVerbs.Add("len", "clothes");
            intransitiveVerbs.Add("lete", "make cold");
            //basic.Add("li", "VERB");
            intransitiveVerbs.Add("lili", "shrinks");
            intransitiveVerbs.Add("linja", "makes into a curve");
            intransitiveVerbs.Add("lipu", "makes into a sheet");
            intransitiveVerbs.Add("loje", "makes red");
            intransitiveVerbs.Add("lon", "on");
            intransitiveVerbs.Add("luka", "hands");
            intransitiveVerbs.Add("lukin", "sees");
            intransitiveVerbs.Add("lupa", "punches a hole");
            intransitiveVerbs.Add("ma", "turns into land");
            intransitiveVerbs.Add("mama", "invents");
            intransitiveVerbs.Add("mani", "turns into money");
            intransitiveVerbs.Add("meli", "makes into a woman");
            intransitiveVerbs.Add("mi", "I");
            intransitiveVerbs.Add("mije", "makes into a man");
            intransitiveVerbs.Add("moku", "eats");
            intransitiveVerbs.Add("moli", "dies");
            intransitiveVerbs.Add("monsi", "places behind");
            intransitiveVerbs.Add("mu", "says moo! to");
            intransitiveVerbs.Add("mun", "turns into a moon");
            intransitiveVerbs.Add("musi", "plays");
            intransitiveVerbs.Add("mute", "multiplies");
            intransitiveVerbs.Add("namako", "makes extra");
            intransitiveVerbs.Add("nanpa", "counts");
            intransitiveVerbs.Add("nasa", "makes strange");
            intransitiveVerbs.Add("nasin", "makes into path");
            intransitiveVerbs.Add("nena", "turns into bump");
            intransitiveVerbs.Add("ni", "this");
            intransitiveVerbs.Add("nimi", "names");
            //intransitiveVerbs.Add("o", "o!");
            intransitiveVerbs.Add("oko", "eyes");
            intransitiveVerbs.Add("olin", "loves");
            //basic.Add("ona", "it (Error?)");
            intransitiveVerbs.Add("open", "starts");
            intransitiveVerbs.Add("pakala", "breaks");
            intransitiveVerbs.Add("pali", "works");
            intransitiveVerbs.Add("palisa", "makes into a stick");
            intransitiveVerbs.Add("pan", "makes into bread");
            intransitiveVerbs.Add("pana", "gives");
            //basic.Add("pi", "of");
            intransitiveVerbs.Add("pilin", "feels");
            intransitiveVerbs.Add("pimeja", "blackens");
            intransitiveVerbs.Add("pini", "finishes");
            intransitiveVerbs.Add("pipi", "turns into an insect");
            //basic.Add("poka", "with");
            intransitiveVerbs.Add("poki", "boxes");
            intransitiveVerbs.Add("pona", "makes good");
            //intransitiveVerbs.Add("pu", "??");
            intransitiveVerbs.Add("sama", "equals");
            intransitiveVerbs.Add("seli", "heats");
            intransitiveVerbs.Add("selo", "surrounds");
            intransitiveVerbs.Add("seme", "what (toki nasa)");
            intransitiveVerbs.Add("sewi", "raises");
            intransitiveVerbs.Add("sijelo", "turns into a body");
            intransitiveVerbs.Add("sike", "circles");
            intransitiveVerbs.Add("sin", "makes new");
            //basic.Add("sina", "you");
            intransitiveVerbs.Add("sinpin", "places to the front of");
            intransitiveVerbs.Add("sitelen", "makes a picture of");
            intransitiveVerbs.Add("sona", "knows");
            intransitiveVerbs.Add("soweli", "truns into an animal");
            intransitiveVerbs.Add("suli", "grows");
            intransitiveVerbs.Add("suno", "enlighten");
            intransitiveVerbs.Add("supa", "flattens");
            intransitiveVerbs.Add("suwi", "sweet");
            intransitiveVerbs.Add("tan", "causes");
            //basic.Add("taso", "but");
            intransitiveVerbs.Add("tawa", "moves");
            intransitiveVerbs.Add("telo", "washes");
            intransitiveVerbs.Add("tenpo", "times (?)");
            intransitiveVerbs.Add("toki", "speaks");
            intransitiveVerbs.Add("tomo", "makes into houses");
            intransitiveVerbs.Add("tu", "doubles/divides (!)");
            intransitiveVerbs.Add("unpa", "has sex with");
            intransitiveVerbs.Add("uta", "make a hole in");
            intransitiveVerbs.Add("utala", "fights");
            intransitiveVerbs.Add("walo", "whitens");
            intransitiveVerbs.Add("wan", "unifies");
            intransitiveVerbs.Add("waso", "turns into a bird");
            intransitiveVerbs.Add("wawa", "makes powerful");
            intransitiveVerbs.Add("weka", "removes");
            intransitiveVerbs.Add("wile", "wants");
            return intransitiveVerbs;
        }

        public Dictionary<string, string> TokiPonaTransitiveVerbs()
        {
            
            //basic.Add("a", "ah!");
            transitiveVerbs.Add("akesi", "makes into a reptile");
            transitiveVerbs.Add("ala", "negates");
            transitiveVerbs.Add("alasa", "hunts");
            //basic.Add("ale", "all");
            //basic.Add("ali", "all");
            transitiveVerbs.Add("anpa", "lowers");
            transitiveVerbs.Add("ante", "changes");
            //basic.Add("anu", "or");
            transitiveVerbs.Add("awen", "stay");
            //basic.Add("e", "DO");
            //basic.Add("en", "and");
            transitiveVerbs.Add("esun", "sells");
            transitiveVerbs.Add("ijo", "objectifies");
            transitiveVerbs.Add("ike", "makes worse");
            transitiveVerbs.Add("ilo", "uses as a tool");
            transitiveVerbs.Add("insa", "places inside");
            transitiveVerbs.Add("jaki", "makes disgusting");
            transitiveVerbs.Add("jan", "humanizes");
            transitiveVerbs.Add("jelo", "makes yellow");
            transitiveVerbs.Add("jo", "have");
            transitiveVerbs.Add("kala", "turns into a fish");
            transitiveVerbs.Add("kalama", "makes a noise");
            transitiveVerbs.Add("kama", "becomes");
            transitiveVerbs.Add("kasi", "plants");
            transitiveVerbs.Add("ken", "enables");
            transitiveVerbs.Add("kepeken", "uses");
            transitiveVerbs.Add("kili", "turns into fruit");
            //basic.Add("kin", "indeed");
            transitiveVerbs.Add("kipisi", "cuts");
            transitiveVerbs.Add("kiwen", "makes into a rock");
            transitiveVerbs.Add("ko", "makes disgusting");
            transitiveVerbs.Add("kon", "turns into air");
            transitiveVerbs.Add("kule", "colors");
            transitiveVerbs.Add("kulupu", "gathers into a group");
            transitiveVerbs.Add("kute", "listens");
            //basic.Add("la", "if");
            transitiveVerbs.Add("lape", "puts to sleep");
            transitiveVerbs.Add("laso", "bluens");
            transitiveVerbs.Add("lawa", "leads");
            transitiveVerbs.Add("len", "clothes");
            transitiveVerbs.Add("lete", "make cold");
            //basic.Add("li", "VERB");
            transitiveVerbs.Add("lili", "shrinks");
            transitiveVerbs.Add("linja", "makes into a curve");
            transitiveVerbs.Add("lipu", "makes into a sheet");
            transitiveVerbs.Add("loje", "makes red");
            transitiveVerbs.Add("lon", "on");
            transitiveVerbs.Add("luka", "hands");
            transitiveVerbs.Add("lukin", "sees");
            transitiveVerbs.Add("lupa", "punches a hole");
            transitiveVerbs.Add("ma", "turns into land");
            transitiveVerbs.Add("mama", "invents");
            transitiveVerbs.Add("mani", "turns into money");
            transitiveVerbs.Add("meli", "makes into a woman");
            transitiveVerbs.Add("mi", "I");
            transitiveVerbs.Add("mije", "makes into a man");
            transitiveVerbs.Add("moku", "eats");
            transitiveVerbs.Add("moli", "dies");
            transitiveVerbs.Add("monsi", "places behind");
            transitiveVerbs.Add("mu", "says moo! to");
            transitiveVerbs.Add("mun", "turns into a moon");
            transitiveVerbs.Add("musi", "plays");
            transitiveVerbs.Add("mute", "multiplies");
            transitiveVerbs.Add("namako", "makes extra");
            transitiveVerbs.Add("nanpa", "counts");
            transitiveVerbs.Add("nasa", "makes strange");
            transitiveVerbs.Add("nasin", "makes into path");
            transitiveVerbs.Add("nena", "turns into bump");
            transitiveVerbs.Add("ni", "this");
            transitiveVerbs.Add("nimi", "names");
            //transitiveVerbs.Add("o", "o!");
            transitiveVerbs.Add("oko", "eyes");
            transitiveVerbs.Add("olin", "loves");
            //basic.Add("ona", "it (Error?)");
            transitiveVerbs.Add("open", "starts");
            transitiveVerbs.Add("pakala", "breaks");
            transitiveVerbs.Add("pali", "works");
            transitiveVerbs.Add("palisa", "makes into a stick");
            transitiveVerbs.Add("pan", "makes into bread");
            transitiveVerbs.Add("pana", "gives");
            //basic.Add("pi", "of");
            transitiveVerbs.Add("pilin", "feels");
            transitiveVerbs.Add("pimeja", "blackens");
            transitiveVerbs.Add("pini", "finishes");
            transitiveVerbs.Add("pipi", "turns into an insect");
            //basic.Add("poka", "with");
            transitiveVerbs.Add("poki", "boxes");
            transitiveVerbs.Add("pona", "makes good");
            //transitiveVerbs.Add("pu", "??");
            transitiveVerbs.Add("sama", "equals");
            transitiveVerbs.Add("seli", "heats");
            transitiveVerbs.Add("selo", "surrounds");
            transitiveVerbs.Add("seme", "what (toki nasa)");
            transitiveVerbs.Add("sewi", "raises");
            transitiveVerbs.Add("sijelo", "turns into a body");
            transitiveVerbs.Add("sike", "circles");
            transitiveVerbs.Add("sin", "makes new");
            //basic.Add("sina", "you");
            transitiveVerbs.Add("sinpin", "places to the front of");
            transitiveVerbs.Add("sitelen", "makes a picture of");
            transitiveVerbs.Add("sona", "knows");
            transitiveVerbs.Add("soweli", "truns into an animal");
            transitiveVerbs.Add("suli", "grows");
            transitiveVerbs.Add("suno", "enlighten");
            transitiveVerbs.Add("supa", "flattens");
            transitiveVerbs.Add("suwi", "sweet");
            transitiveVerbs.Add("tan", "causes");
            //basic.Add("taso", "but");
            transitiveVerbs.Add("tawa", "moves");
            transitiveVerbs.Add("telo", "washes");
            transitiveVerbs.Add("tenpo", "times (?)");
            transitiveVerbs.Add("toki", "speaks");
            transitiveVerbs.Add("tomo", "makes into houses");
            transitiveVerbs.Add("tu", "doubles/divides (!)");
            transitiveVerbs.Add("unpa", "has sex with");
            transitiveVerbs.Add("uta", "make a hole in");
            transitiveVerbs.Add("utala", "fights");
            transitiveVerbs.Add("walo", "whitens");
            transitiveVerbs.Add("wan", "unifies");
            transitiveVerbs.Add("waso", "turns into a bird");
            transitiveVerbs.Add("wawa", "makes powerful");
            transitiveVerbs.Add("weka", "removes");
            transitiveVerbs.Add("wile", "wants");
            return transitiveVerbs;
        }

        private Dictionary<string, string> TokiPonaLexicon()
        {
            
            unknownPos.Add("a", "ah!");
            unknownPos.Add("akesi", "reptile");
            unknownPos.Add("ala", "not");
            unknownPos.Add("alasa", "hunt");
            unknownPos.Add("ale", "all");
            unknownPos.Add("ali", "all");
            unknownPos.Add("anpa", "lower");
            unknownPos.Add("ante", "different");
            unknownPos.Add("anu", "or");
            unknownPos.Add("awen", "stay");
            unknownPos.Add("e", "DO");
            unknownPos.Add("en", "and");
            unknownPos.Add("esun", "store");
            unknownPos.Add("ijo", "thing");
            unknownPos.Add("ike", "bad");
            unknownPos.Add("ilo", "tool");
            unknownPos.Add("insa", "inside");
            unknownPos.Add("jaki", "disgusting");
            unknownPos.Add("jan", "person");
            unknownPos.Add("jelo", "yellow");
            unknownPos.Add("jo", "have");
            unknownPos.Add("kala", "fish");
            unknownPos.Add("kalama", "sound");
            unknownPos.Add("kama", "become");
            unknownPos.Add("kasi", "plant");
            unknownPos.Add("ken", "can");
            unknownPos.Add("kepeken", "use");
            unknownPos.Add("kili", "fruit");
            unknownPos.Add("kin", "indeed");
            unknownPos.Add("kipisi", "cut");
            unknownPos.Add("kiwen", "rock");
            unknownPos.Add("ko", "sludge");
            unknownPos.Add("kon", "air");
            unknownPos.Add("kule", "color");
            unknownPos.Add("kulupu", "comunity");
            unknownPos.Add("kute", "listen");
            unknownPos.Add("la", "IF");
            unknownPos.Add("lape", "sleep");
            unknownPos.Add("laso", "grue");
            unknownPos.Add("lawa", "lead");
            unknownPos.Add("len", "cloth");
            unknownPos.Add("lete", "cold");
            unknownPos.Add("li", "VERB");
            unknownPos.Add("lili", "small");
            unknownPos.Add("linja", "curve");
            unknownPos.Add("lipu", "sheet");
            unknownPos.Add("loje", "red");
            unknownPos.Add("lon", "on");
            unknownPos.Add("luka", "hand");
            unknownPos.Add("lukin", "see");
            unknownPos.Add("lupa", "hole");
            unknownPos.Add("ma", "land");
            unknownPos.Add("mama", "parent");
            unknownPos.Add("mani", "money");
            unknownPos.Add("meli", "woman");
            unknownPos.Add("mi", "I");
            unknownPos.Add("mije", "man");
            unknownPos.Add("moku", "eat");
            unknownPos.Add("moli", "die");
            unknownPos.Add("monsi", "rear");
            unknownPos.Add("mu", "moo!");
            unknownPos.Add("mun", "moon");
            unknownPos.Add("musi", "play");
            unknownPos.Add("mute", "many");
            unknownPos.Add("namako", "extra");
            unknownPos.Add("nanpa", "number");
            unknownPos.Add("nasa", "strange");
            unknownPos.Add("nasin", "way");
            unknownPos.Add("nena", "bump");
            unknownPos.Add("ni", "this");
            unknownPos.Add("nimi", "word");
            unknownPos.Add("o", "O!");
            unknownPos.Add("oko", "eye");
            unknownPos.Add("olin", "love");
            unknownPos.Add("ona", "it");
            unknownPos.Add("open", "start");
            unknownPos.Add("pakala", "break");
            unknownPos.Add("pali", "work");
            unknownPos.Add("palisa", "line");
            unknownPos.Add("pan", "bread");
            unknownPos.Add("pana", "give");
            unknownPos.Add("pi", "OF");
            unknownPos.Add("pilin", "feel");
            unknownPos.Add("pimeja", "black");
            unknownPos.Add("pini", "finish");
            unknownPos.Add("pipi", "insect");
            unknownPos.Add("poka", "with");
            unknownPos.Add("poki", "box");
            unknownPos.Add("pona", "good");
            unknownPos.Add("pu", "??");
            unknownPos.Add("sama", "same");
            unknownPos.Add("seli", "heat");
            unknownPos.Add("selo", "skin");
            unknownPos.Add("seme", "what");
            unknownPos.Add("sewi", "high");
            unknownPos.Add("sijelo", "body");
            unknownPos.Add("sike", "circle");
            unknownPos.Add("sin", "new");
            unknownPos.Add("sina", "you");
            unknownPos.Add("sinpin", "face");
            unknownPos.Add("sitelen", "picture");
            unknownPos.Add("sona", "know");
            unknownPos.Add("soweli", "animal");
            unknownPos.Add("suli", "large");
            unknownPos.Add("suno", "sun");
            unknownPos.Add("supa", "flat surface");
            unknownPos.Add("suwi", "sweet");
            unknownPos.Add("tan", "because");
            unknownPos.Add("taso", "but");
            unknownPos.Add("tawa", "to");
            unknownPos.Add("telo", "water");
            unknownPos.Add("tenpo", "time");
            unknownPos.Add("toki", "speak");
            unknownPos.Add("tomo", "house");
            unknownPos.Add("tu", "two");
            unknownPos.Add("unpa", "sex");
            unknownPos.Add("uta", "hole");
            unknownPos.Add("utala", "fight");
            unknownPos.Add("walo", "white");
            unknownPos.Add("wan", "one");
            unknownPos.Add("waso", "bird");
            unknownPos.Add("wawa", "power");
            unknownPos.Add("weka", "remove");
            unknownPos.Add("wile", "want");
            return unknownPos;
        }

        private Dictionary<string, string> TokiPonaNouns()
        {            
            //nouns.Add("a", "the word 'a'");
            nouns.Add("akesi", "a reptile");
            nouns.Add("ala", "nothing");
            nouns.Add("alasa", "a hunt");
            nouns.Add("ale", "everything");
            nouns.Add("ali", "everything");
            nouns.Add("anpa", "the lower part");
            nouns.Add("ante", "the change");
            //basic.Add("anu", "or");
            nouns.Add("awen", "the thing that stays");
            //basic.Add("e", "DO");
            //basic.Add("en", "and");
            nouns.Add("esun", "the store");
            nouns.Add("ijo", "the thing");
            nouns.Add("ike", "the bad thing (?)");
            nouns.Add("ilo", "the tool");
            nouns.Add("insa", "the inside area");
            nouns.Add("jaki", "the disgusting thing (?)");
            nouns.Add("jan", "the person");
            nouns.Add("jelo", "the yellow thing(?)");
            //basic.Add("jo", "have");
            nouns.Add("kala", "the fish");
            nouns.Add("kalama", "the sound");
            //basic.Add("kama", "become");
            nouns.Add("kasi", "the plant");
            //basic.Add("ken", "can");
            nouns.Add("kepeken", "the usage");
            nouns.Add("kili", "the fruit");
            //basic.Add("kin", "indeed");
            nouns.Add("kipisi", "the cut");
            nouns.Add("kiwen", "the rock");
            nouns.Add("ko", "the sludge");
            nouns.Add("kon", "the air");
            nouns.Add("kule", "the color");
            nouns.Add("kulupu", "the community");
            nouns.Add("kute", "the ear, the listening");
            //basic.Add("la", "if");
            nouns.Add("lape", "the sleep");
            nouns.Add("laso", "the blue thing (?)");
            nouns.Add("lawa", "the leader");
            nouns.Add("len", "the clothing");
            nouns.Add("lete", "the sleep");
            //basic.Add("li", "VERB");
            nouns.Add("lili", "the small one (?)");
            nouns.Add("linja", "the curves");
            nouns.Add("lipu", "the sheet");
            nouns.Add("loje", "the red thing(?)");
            nouns.Add("lon", "the truth");
            nouns.Add("luka", "the hand");
            nouns.Add("lukin", "the sight");
            nouns.Add("lupa", "the hole");
            nouns.Add("ma", "the land");
            nouns.Add("mama", "the parent");
            nouns.Add("mani", "the money");
            nouns.Add("meli", "the woman");
            nouns.Add("mi", "I");
            nouns.Add("mije", "the man");
            nouns.Add("moku", "the food");
            nouns.Add("moli", "the death");
            nouns.Add("monsi", "the area to the rear");
            nouns.Add("mu", "the sound moo!");
            nouns.Add("mun", "the moon");
            nouns.Add("musi", "the game");
            nouns.Add("mute", "the many (things)");
            nouns.Add("namako", "the spice");
            nouns.Add("nanpa", "the number");
            nouns.Add("nasa", "the strange one (?)");
            nouns.Add("nasin", "the way");
            nouns.Add("nena", "the bump");
            nouns.Add("ni", "this");
            nouns.Add("nimi", "the word");
            //nouns.Add("o", "o!");
            nouns.Add("oko", "the eye");
            nouns.Add("olin", "the love");
            nouns.Add("ona", "it");
            nouns.Add("open", "the start");
            nouns.Add("pakala", "the mistale");
            nouns.Add("pali", "the work");
            nouns.Add("palisa", "the stick");
            nouns.Add("pan", "the bread");
            nouns.Add("pana", "to gift");
            //basic.Add("pi", "of");
            nouns.Add("pilin", "the feeling");
            nouns.Add("pimeja", "the blackness");
            nouns.Add("pini", "the end");
            nouns.Add("pipi", "the insect");
            //basic.Add("poka", "with");
            nouns.Add("poki", "the box");
            nouns.Add("pona", "the good thing (?)");
            //basic.Add("pu", "??");
            nouns.Add("sama", "the same thing (?)");
            nouns.Add("seli", "the heat");
            nouns.Add("selo", "the skin");
            nouns.Add("seme", "what");
            nouns.Add("sewi", "the high place");
            nouns.Add("sijelo", "the body");
            nouns.Add("sike", "the circle");
            nouns.Add("sin", "the new thing (?)");
            nouns.Add("sina", "you");
            nouns.Add("sinpin", "the face");
            nouns.Add("sitelen", "the picture");
            nouns.Add("sona", "knowledge");
            nouns.Add("soweli", "the animal");
            nouns.Add("suli", "the magnitude");
            nouns.Add("suno", "the sun");
            nouns.Add("supa", "the flat surface");
            nouns.Add("suwi", "the sweet thing (?)");
            nouns.Add("tan", "reason");
            //basic.Add("taso", "but");
            nouns.Add("tawa", "to");
            nouns.Add("telo", "the water");
            nouns.Add("tenpo", "the time");
            nouns.Add("toki", "the language");
            nouns.Add("tomo", "the house");
            nouns.Add("tu", "the pair");
            nouns.Add("unpa", "sexual activity");
            nouns.Add("uta", "the hole");
            nouns.Add("utala", "the fight");
            nouns.Add("walo", "the whiteness");
            nouns.Add("wan", "the single one");
            nouns.Add("waso", "the bird");
            nouns.Add("wawa", "the power");
            nouns.Add("weka", "the removal (?)");
            nouns.Add("wile", "the desire");
            return nouns;
        }

        private Dictionary<string, string> TokiPonaModifers()
        {
            
            //basic.Add("a", "ah!");
            modifers.Add("akesi", "reptile's, reptile-like");
            modifers.Add("ala", "un-");
            modifers.Add("alasa", "hunting");
            modifers.Add("ale", "all");
            modifers.Add("ali", "all");
            modifers.Add("anpa", "lower");
            modifers.Add("ante", "different");
            modifers.Add("anu", "or");
            modifers.Add("awen", "fastened, immobile");
            //basic.Add("e", "DO");
            //basic.Add("en", "and");
            modifers.Add("esun", "mercantile");
            modifers.Add("ijo", "thing's");
            modifers.Add("ike", "bad");
            modifers.Add("ilo", "tool's");
            modifers.Add("insa", "inside's");
            modifers.Add("jaki", "disgusting");
            modifers.Add("jan", "person's");
            modifers.Add("jelo", "yellow");
            modifers.Add("jo", "having");
            modifers.Add("kala", "fish's, fishlike");
            modifers.Add("kalama", "sound's, noisy");
            modifers.Add("kama", "becoming");
            modifers.Add("kasi", "planting");
            //basic.Add("ken", "can");
            modifers.Add("kepeken", "using");
            modifers.Add("kili", "fruit's, fruity");
            //basic.Add("kin", "indeed");
            modifers.Add("kipisi", "the cut's, cutting");
            modifers.Add("kiwen", "rock's, rock-like");
            modifers.Add("ko", "sludge's, sludge-like");
            modifers.Add("kon", "air's, gassy");
            modifers.Add("kule", "color's, colorful");
            modifers.Add("kulupu", "community's, communal");
            modifers.Add("kute", "listening");
            //basic.Add("la", "if");
            modifers.Add("lape", "sleeping, soporific");
            modifers.Add("laso", "grue");
            modifers.Add("lawa", "head's, leader's, chief/main");
            modifers.Add("len", "cloth's, cloth");
            modifers.Add("lete", "cold");
            //basic.Add("li", "VERB");
            modifers.Add("lili", "small");
            modifers.Add("linja", "curvy");
            modifers.Add("lipu", "flat");
            modifers.Add("loje", "red");
            //basic.Add("lon", "on");
            modifers.Add("luka", "hand's");
            modifers.Add("lukin", "seeing");
            modifers.Add("lupa", "hole's");
            modifers.Add("ma", "land's, geographic");
            modifers.Add("mama", "parent's, parental");
            modifers.Add("mani", "money's, monetary");
            modifers.Add("meli", "woman's, feminine");
            modifers.Add("mi", "my");
            modifers.Add("mije", "man's, manly");
            modifers.Add("moku", "eating, edible");
            modifers.Add("moli", "dieing, death's");
            modifers.Add("monsi", "rear's");
            modifers.Add("mu", "'mu's, moo! (?)");
            modifers.Add("mun", "moon's, lunar");
            modifers.Add("musi", "playing, game's, amusing");
            modifers.Add("mute", "many, -s (plural)");
            modifers.Add("namako", "extra, spicy");
            modifers.Add("nanpa", "number");
            modifers.Add("nasa", "strange");
            modifers.Add("nasin", "way");
            modifers.Add("nena", "bump's");
            modifers.Add("ni", "this's");
            modifers.Add("nimi", "word's");
            //basic.Add("o", "o!");
            modifers.Add("oko", "eye's, visual");
            modifers.Add("olin", "loving, love's");
            modifers.Add("ona", "it's");
            modifers.Add("open", "beginning's");
            modifers.Add("pakala", "breaking, mistake's");
            modifers.Add("pali", "working, work's");
            modifers.Add("palisa", "linear, stick-like");
            modifers.Add("pan", "bread's, bread-like");
            modifers.Add("pana", "giving, gift's");
            //basic.Add("pi", "of");
            modifers.Add("pilin", "feeling, heart's");
            modifers.Add("pimeja", "black");
            modifers.Add("pini", "end's, final");
            modifers.Add("pipi", "insect's, insect=like");
            //basic.Add("poka", "with");
            modifers.Add("poki", "box");
            modifers.Add("pona", "good");
            //modifers.Add("pu", "??");
            modifers.Add("sama", "same");
            modifers.Add("seli", "hot, heat's");
            modifers.Add("selo", "skin's");
            modifers.Add("seme", "what sort");
            modifers.Add("sewi", "high");
            modifers.Add("sijelo", "body's, incoporeal");
            modifers.Add("sike", "circle's, round");
            modifers.Add("sin", "new");
            modifers.Add("sina", "your");
            modifers.Add("sinpin", "face's, facial");
            modifers.Add("sitelen", "picture's, written, drawn");
            modifers.Add("sona", "knowing, smart");
            modifers.Add("soweli", "animal's, beastly");
            modifers.Add("suli", "large, magnitude's");
            modifers.Add("suno", "shiny, sun's");
            modifers.Add("supa", "surface's");
            modifers.Add("suwi", "sweet, candy's");
            //basic.Add("tan", "because");
            modifers.Add("taso", "only, just");
            modifers.Add("tawa", "moving");
            modifers.Add("telo", "water's, wet");
            modifers.Add("tenpo", "time's");
            modifers.Add("toki", "speaking");
            modifers.Add("tomo", "house's, housing (?)");
            modifers.Add("tu", "two, PL (dual)");
            modifers.Add("unpa", "sexual");
            modifers.Add("uta", "hole's");
            modifers.Add("utala", "fighting");
            modifers.Add("walo", "white");
            modifers.Add("wan", "one's, unified");
            modifers.Add("waso", "bird's, bird-like");
            modifers.Add("wawa", "powerful");
            modifers.Add("weka", "removing, falling");
            modifers.Add("wile", "wanted");
            return modifers;
        }

    }
}
